Drop support for Ruby 3.1 - #34
Merged
Merged
Conversation
Ruby 3.1 went end-of-life on 2025-03-31, and keeping it in the matrix required pinning four transitive deps (rdoc, erb, sass-embedded, google-protobuf) to versions predating their 3.2 floor. That list was only going to grow. Raise required_ruby_version to >= 3.2.0, drop 3.1 from the CI matrix, and remove the pin block so those gems resolve freely again. Also bump .standard.yml's ruby_version from the stale 3.0 to match the new floor. All 76 locked specs, platform variants included, resolve on ruby 3.2, 3.3, 3.4 and 4.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015kxK16Xgi7P4GeUfkmQNxr
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The Ruby floor change is applied consistently across gemspec, CI, lint config, and dependencies, with no remaining Ruby 3.1 references affecting support.
Pull request overview
This PR drops Ruby 3.1 support across the gem’s declared requirements and CI tooling to align with Ruby 3.1’s EOL and remove the need for transitive dev-dependency pinning.
Changes:
- Bump the gem’s minimum supported Ruby to
>= 3.2.0and align StandardRB’s configured Ruby version to 3.2. - Update CI to stop testing Ruby 3.1 and test
3.2,3.3,3.4, and4.0instead. - Remove Ruby-3.1-era dependency pins and re-resolve the lockfile; document the breaking change in the changelog.
File summaries
| File | Description |
|---|---|
jekyll-tailwindcss.gemspec |
Raises required_ruby_version to >= 3.2.0. |
.github/workflows/main.yml |
Removes Ruby 3.1 from the CI matrix. |
Gemfile |
Deletes now-unnecessary pins for transitive dev dependencies. |
Gemfile.lock |
Updates resolved versions consistent with the removed pins and new Ruby floor. |
.standard.yml |
Aligns StandardRB’s ruby_version setting with the new minimum Ruby. |
CHANGELOG.md |
Adds an Unreleased entry noting Ruby 3.1 support removal. |
Review details
- Files reviewed: 5/6 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ruby 3.1 reached end-of-life on 2025-03-31. Keeping it in the CI matrix required pinning four transitive dev dependencies to versions predating their 3.2 floor, and that list was only going to grow — it had already caught us out twice in #30.
Changes
jekyll-tailwindcss.gemspecrequired_ruby_version→>= 3.2.0.github/workflows/main.yml["3.2", "3.3", "3.4", "4.0"]Gemfilerdoc < 8,erb < 5,sass-embedded < 1.77.1,google-protobuf < 4.36.standard.ymlruby_version3.0 → 3.2 (stale, predated the old 3.1 floor)CHANGELOG.mdGemfile.lockLockfile effects
With the pins gone, the held-back gems move forward:
sass-embedded1.77.0 → 1.103.1rdoc7.2.0 → 8.0.0erb4.0.4.1 → 6.0.7google-protobuf4.35.1 → 4.36.0cgi,date,psych,stringiodrop out entirely — the olderb/rdocpulled in stdlib-extraction gems the current versions no longer needcsv,loggerandbase64stay: those are unbundled in Ruby 3.4/4.0, unrelated to the 3.1 floor.Verification
required_ruby_versionfor 3.2, 3.3, 3.4 and 4.0Note for the releaser
This is a breaking change for anyone still on 3.1. The entry sits under
## [Unreleased]— the version number is a call for release time (0.8.0 seems right).🤖 Generated with Claude Code
https://claude.ai/code/session_015kxK16Xgi7P4GeUfkmQNxr